[Dúvida] C ou C++ para programação científica

1. [Dúvida] C ou C++ para programação científica

Pedro Rafael
Pedro Rafael

(usa Fedora)

Enviado em 22/08/2009 - 11:42h

Pessal entre C ou C++ qual a melhor linguagem no contexto de programação científica. Falo com respeito para resolver contas matemáticas pesadas como inversão de matrizes, fatoração LU, QR, simulações probabilisticas, inferência estatística, integração, dervação, etc, etc.

Qual delas me frornece mais bibliotecas para trabalhar com esses cálculos? Estou usando C e a biblioteca GSL para resolver esse tipo de problema no entanto fiquei atrido a estudar o C++ mas não se é vantagem tocar o C pelo C++.

Alguem poderia me dar umas dicas e faar a vantagem e desvantagens de cada uma pra esse contexto que apresentei acima?






  


2. Re: [Dúvida] C ou C++ para programação científica

André
andrezc

(usa Debian)

Enviado em 22/08/2009 - 13:43h

C++ pois ele é mais completo, mas você deve programar nas duas e ver qual lhe agrada mais, eu recomendo C++, mas eu trabalho com C, mas isso vai de cada um.


3. Re: [Dúvida] C ou C++ para programação científica

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/08/2009 - 13:51h

Também recomendo o C++ e muito mais completo e se futuramente for trabalhar com Java teŕa menos dificuldades por já ter uma carga de conhecimentos do C++.


4. Re: [Dúvida] C ou C++ para programação científica

Marcos Fagner
fagn

(usa Arch Linux)

Enviado em 22/08/2009 - 14:40h

Python


5. Re: [Dúvida] C ou C++ para programação científica

André
andrezc

(usa Debian)

Enviado em 22/08/2009 - 16:40h

Python é bom também, as linguagens interpretadas que mais gosto são Python e Ruby, mas a pergunta é sobre C e C++.


6. Re: [Dúvida] C ou C++ para programação científica

albert guedes
albertguedes

(usa Gentoo)

Enviado em 22/08/2009 - 18:23h

Eu faço física e pra mim FORTRAN sempre foi sinonimo de linguagem pra programação cientifica.

Ela tem milhares de bibliotecas (inclusive da propria GNU) exatamente pra isso.
Mas se você prefere entre C ou C++ , eu sugiro C, ele é mais eficiente prs fins científicos. C++ foi criado mais pra desenvolvimento de aplicativos não-numéricos.


7. Re: [Dúvida] C ou C++ para programação científica

Pedro Rafael
Pedro Rafael

(usa Fedora)

Enviado em 22/08/2009 - 20:26h

Vamos nos restringir ao C e C++ porque se não vai piorar minha situação e vou ficar pior do que antres de fazer essa pergunta.

Bem pessoal lendo um pouco mais na internet vi que o C++ me dá muito mais possibilidades para programação numérica mas há várias pessoas que defende o C com a alegação de que C é bem mais rápida, etc, etc...

Um amigo meu falou que o mais interessante seria eu estudar o C++ e em específico a biblioteca BOOST onde ele fala que usando ela eu não necessito usar a bilioteca standart que é a padrão do C++ pois ele fala que a boost é muito superior e tudo que a standart faz a boost também faz além de varias outras coisas. Mas eu acho que para saber programar em C++ a pessoa tem que entender a sintaxe das biliotecas padrões e as bibliotecas serve como um adicional. Esse meu amigo fala que quando estamos estudando C++ ou JAVA por exemplo a pessoa estuda e perde mais tempo tentando entender as biliotecas e não a linguagem em si. Até que ponto isso é verdade?

E aqueles que defendem o C para o simulações e calculos científicos poderia me apresentar mais motivos de escolher C? Obrigado à todos


8. Re: [Dúvida] C ou C++ para programação científica

Pedro Rafael
Pedro Rafael

(usa Fedora)

Enviado em 23/08/2009 - 08:29h

E aí, alguma dica?


9. Re: [Dúvida] C ou C++ para programação científica

Denis Doria
thuck

(usa Debian)

Enviado em 23/08/2009 - 10:10h

Eu diria que programar em C++ é mais produtivo, porém a performance não seria tão boa quanto se fosse feito em C. Então creio que você deveria pesar as seguintes situações:

1) O que vou fazer vai ter um ganho real se feito em C?
R: Normalmente sim
2) A diferença no tempo compensa o tempo gasto a mais com a programação?
R: Varia muito do algoritmo, difícil responder
3) Qual paradigma me interessa mais?
R: Nenhum em especial para mim
4) O que seria mais barato o seu tempo ou comprar mais processadores?
R: Com certeza o processador

De qualquer forma, se o tempo não fosse algo extremamente importante, não faria em C e nem em C++; mas entre essas duas opções por uma escolha pessoal ficaria com C.




10. Re: [Dúvida] C ou C++ para programação científica

Sergio Teixeira - Linux User # 499126
Teixeira

(usa Linux Mint)

Enviado em 23/08/2009 - 10:30h

Eu não saberia dizer se nesse caso há vantagens em substituir C por C++
Temos de considerar que essas são linguagens muito próximas do processador e que podem ecoar os erros de cãlculo típicos do processador (se ainda os houver).
Isso para programação científica seria um desastre.
No entanto, se você já usa C e tem tido muito mais acertos do que erros, é sinal que há nas bibliotecas alguma correção nativa.
Digo isso porque os processadores baseados no Z-80 (8080, 8088, 8086, e daí por diante) apresentam um bug conhecido e ainda não corrigido (!!!), no tocante a geração de uma raiz randômica.
O Pentium quando foi lançado tinha um bug que somente era notado em programação científica, e que demorou muito a ser assumido e corrigido pelo Intel.
Portanto se você tem tido bons resultados com uma linguagem, não vejo porque substituí-la, de vez que não existem dados concretos sobre uma melhoria visível da C++ sobre a C, exceto pelo fato de ser mais "amigável". E isso não quer dizer necessariamente que faça cálculos com maior ou menor precisão.
Entretanto, se você quiser gastar um pouco de tempo para aprender um pouco a respeito dessa "nova" linguagem, penso eu que o saber nunca é coisa supérflua, e que sempre terá o seu valor, a sua utilidade.



11. Re: [Dúvida] C ou C++ para programação científica

Pedro Rafael
Pedro Rafael

(usa Fedora)

Enviado em 23/08/2009 - 11:06h

Valeu pessal pelas dicas masdeixo o tópico aberto para mais dicas.

Estu arendendo muito com vocês

abraço, Pedro Rafael






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts